// 重置样式
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 14px;
}

body {
  height: 100%;
  color: #303133;
  min-width: 1240px;
  font: 1em/1.6 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 
    'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
  background-color: #f5f7fa;
}

body,
ul,
h1,
h2,
h3,
h4,
p,
dl,
dd {
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: #409eff;
  outline: none;
  
  &:hover {
    color: #64b5f6;
  }
}

i {
  font-style: normal;
}

input[type='text'],
input[type='search'],
input[type='password'],
input[type='checkbox'],
input[type='number'],
textarea,
select {
  padding: 0;
  outline: none;
  border: none;
  -webkit-appearance: none;
  &::placeholder {
    color: #a8abb2;
  }
}

img {
  max-width: 100%;
  max-height: 100%;
  vertical-align: middle;
  background: #f5f7fa;
}

ul {
  list-style: none;
}

#app {
  background: #f5f7fa;
  user-select: none;
  min-height: 100vh;
}

.container {
  width: 1280px;
  margin: 0 auto;
  position: relative;
}

.ellipsis {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ellipsis-2 {
  word-break: break-all;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.clearfix:after {
  content: '.';
  display: block;
  visibility: hidden;
  height: 0;
  line-height: 0;
  clear: both;
}

// 全局按钮样式
.btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  text-align: center;
  transition: all 0.3s;
  border: 1px solid transparent;
  
  &.btn-primary {
    background: linear-gradient(135deg, #409eff 0%, #64b5f6 100%);
    color: white;
    
    &:hover {
      opacity: 0.9;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(64, 158, 255, 0.3);
    }
  }
  
  &.btn-success {
    background: linear-gradient(135deg, #67c23a 0%, #95d475 100%);
    color: white;
    
    &:hover {
      opacity: 0.9;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(103, 194, 58, 0.3);
    }
  }
  
  &.btn-warning {
    background: linear-gradient(135deg, #e6a23c 0%, #f3d19e 100%);
    color: white;
    
    &:hover {
      opacity: 0.9;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(230, 162, 60, 0.3);
    }
  }
  
  &.btn-danger {
    background: linear-gradient(135deg, #f56c6c 0%, #fab6b6 100%);
    color: white;
    
    &:hover {
      opacity: 0.9;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(245, 108, 108, 0.3);
    }
  }
  
  &.btn-outline {
    background: transparent;
    border: 1px solid #409eff;
    color: #409eff;
    
    &:hover {
      background: #ecf5ff;
    }
  }
}

// 卡片样式
.card {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  padding: 20px;
  transition: all 0.3s ease;
  
  &:hover {
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
  }
}

// 重置 element
.el-breadcrumb__inner.is-link {
  font-weight: 400 !important;
}

.el-card {
  border-radius: 8px !important;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1) !important;
  
  &:hover {
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15) !important;
  }
}

// 滚动条样式
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-thumb {
  background: #c0c4cc;
  border-radius: 3px;
  
  &:hover {
    background: #909399;
  }
}

::-webkit-scrollbar-track {
  background: #f5f7fa;
  border-radius: 3px;
}